---
title: "CKopchick II Code"
output: html_document
date: '2025-07-01'
---

```{r}
#Run in R version 4.2.2 using RStudio 2022.02.3
#
#Packages used:
# stargazer version 5.2.3
# nnet version 7.3-18
# MASS version 7.3-58.2
# ggplot2 version 3.4.0
# ggstance version 0.3.6
# dplyr version 1.1.0
# marginaleffects version 0.18.0
# car version 3.1-1
# sandwich version 3.0-2
# lmtest version 0.9-40

#To install these packages for the first time:
#install.packages("stargazer")
#install.packages("nnet")
#install.packages("MASS")
#install.packages("ggplot2")
#install.packages("ggstance")
#install.packages("dplyr")
#install.packages("marginaleffects")
#install.packages("car")
#install.packages("sandwich")
#install.packages("lmtest")

rm(list = ls())

getwd()

library(stargazer)
library(nnet)
library(MASS)
library(ggplot2); theme_set(theme_bw())
library(ggstance)
library(dplyr)
library(marginaleffects)
library(car)
library(sandwich)
library(lmtest)

TacticsData_clean <- readRDS("Kopchick_Cunningham_DataII25_final.rds")

#Variable Descriptions are as follows:
#
#Q3 codes responses to the question "What is your religion?"
#Q4 codes responses to the question "Would you describe yourself as a born-again Christian?"
#Q5 codes responses to the question "Would you describe yourself as an Evangelical Christian?"
#Treatment2 identifies which treatment group the respondent was exposed to.
#Q39 codes responses to the question "What is your general opinion of the Oromo group?"
#Q40 codes responses to the question "Congress is considering a formal condemnation of Ethiopian behavior towards the Oromo. Do you think Congress should do so?"
#Q41 codes responses to the question "Congress is considering enacting economic sanctions against Ethiopia based on their treatment of the Oromo. Do you think Congress should do so?"
#Q43 codes responses to the question "Do you think the United Nations should issue a formal declaration of Ethiopian behavior towards the Oromo?"
#Q44 codes response to the question "Do you think the United Nations should allocate resources to monitoring the treatment of the Oromo in the near future?"
#Gender is a categorical variable of the respondents reported gender: Men or Women.
#educat.wt is a categorical variable of the respondents reported education level.
#race.wt is a categorical variable of the respondents reported race. 
#partyid is a categorical variable of the respondents partisan identity: Republican, Democrat, or Independent. Importantly this is not the respondents' self-reported identity but the product of probing questions to separate "true independents." See our article for more details. 
#EvID and BACID are dichotomous variables with "1" indicating the respondent is identified as an Evangelical or born-again Christian, respectively. Importantly - NAs represent respondents who chose not to identify their religion in Q3.
#BA_BS_plus is a dichotomous variable indicating that the respondent has a BA/BS or higher level of education.
#WhiteID, BlackID, and HispanicID are dicotomous variables indicating the respondent belongs to each race. NonWhiteID indicates the respondent is marked in a race.wt category other than White. 
#WEvID is a dichotomous variable indicating the respondent is a White Evangelical Christian. 
#WomenID is a dichotomous variable indicating the respondent is a Woman. 
#Christian is a dichotomous variable indicating the respondent identified as a Christian in Q3.
#RepID is a dichotomous variable indicating the respondent is identified as a Republican in partyid. 
#DemID is a dichotomous variable indicating the respondent is identified as a Democrat in partyid.
#IndyID is a dichotomous variable indicating the respondent is identified as a Independent in partyid.
#Q39v2 is a recoded variant of Q39 in which responses are coded from -2 to 2 with -2 representing "Strongly Disapprove" and 2 representing "Strongly Approve."
#Q40v2, Q41v2, Q43v2, and Q44v2 are recoded versions of Q40, Q41, Q43, and Q44, respectively, in which "Yes" is recoded as 1 and "Not sure" and "No" are recoded as 0. 

#To begin, we create subsets of our dataset for different categories of our sample, relevant in later analysis. 
All_Dems <- subset(TacticsData_clean, TacticsData_clean$DemID==1)
All_Reps <- subset(TacticsData_clean, TacticsData_clean$RepID==1)
All_Indy <- subset(TacticsData_clean, TacticsData_clean$IndyID==1)
All_Ev <- subset(TacticsData_clean, TacticsData_clean$EvID==1)
All_BAC <- subset(TacticsData_clean, TacticsData_clean$BACID==1)
All_WEv <- subset(TacticsData_clean, TacticsData_clean$WEvID==1)
All_Christian <- subset(TacticsData_clean, TacticsData_clean$Christian==1)
All_Non_Christian <- subset(TacticsData_clean, TacticsData_clean$Christian==0)
All_White <- subset(TacticsData_clean, TacticsData_clean$WhiteID==1)
All_Black <- subset(TacticsData_clean, TacticsData_clean$BlackID==1)
All_Hispanic <- subset(TacticsData_clean, TacticsData_clean$HispanicID==1)
All_NonWhite <- subset(TacticsData_clean, TacticsData_clean$NonWhiteID==1)

#Table 1
#
#Below we gather the summary statistics of our sample.
table(TacticsData_clean$Treatment2)
#As we can see, 0.25 of the sample was placed in Control, Language rights, National identity/homeland and Religious freedom treatment groups respectively. 676*4=2704

table(TacticsData_clean$RepID)
prop.table(table(TacticsData_clean$RepID))
#Rounding up 0.41 of the sample are Republicans. 1602+1102=2704

table(TacticsData_clean$DemID)
prop.table(table(TacticsData_clean$DemID))
#0.46 of the sample are Democrats. 1256+1448=2704

table(TacticsData_clean$EvID)
prop.table(table(TacticsData_clean$EvID))
#Rounding up 0.15 of the sample are Evangelical Christians. 2294+403=2697

table(TacticsData_clean$BACID)
prop.table(table(TacticsData_clean$BACID))
#Rounding up 0.26 of our sample are born-again Christians. 2002+695=2697

table(TacticsData_clean$WhiteID)
prop.table(table(TacticsData_clean$WhiteID))
#The majority of our sample, 0.8, is White. 540+2164=2704

table(TacticsData_clean$WomenID)
prop.table(table(TacticsData_clean$WomenID))
# A slight majority of our sample is male with 0.48 being identified as women. 1404+1300=2704

table(TacticsData_clean$BA_BS_plus)
prop.table(table(TacticsData_clean$BA_BS_plus))
#A majority of our sample has at least an undergraduate degree, rounding up to 0.58. 1136+1568=2704. 

## Main Analysis

#Below we run a simple OLS model in which our IV are our experimental treatments and our DV is our question on the degree to which respondents approve of the Oromo (Q39).
lm1 <- lm(Q39v2~Treatment2, data = TacticsData_clean)
summary(lm1)

#Next, we run a logistic regression model in which our IV are our experimental treatments and our DV is our question on the degree to which respondents approve of Congress condemning Ethiopia for its treatment of the Oromo.
log1 <- glm(Q40v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log1)


#Next, a logistic regression model in which our IV are our experimental treatments and our DV is our question on the degree to which respondents approve of Congress sanctioning Ethiopia for its treatment of the Oromo.
log2 <- glm(Q41v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log2)

#Next, a logistic regression model in which our IV are our experimental treatments and our DV is our question on the degree to which respondents approve of the United Nations condemning Ethiopia for its treatment of the Oromo.
log3 <- glm(Q43v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log3)

#Finally, a logistic regression model in which our IV are our experimental treatments and our DV is our question on the degree to which respondents approve of the United Nations expending resources to monitor Ethiopia's treatment of the Oromo.
log4 <- glm(Q44v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log4)

#Next for Q39, we create Appendix B Table 2 using the Stargazer package. First we reenter lm1 and then save (HC1) robust standard errors for the model. 
lm1 <- lm(Q39v2~Treatment2, data = TacticsData_clean)
summary(lm1)
vvlm1 <- vcovHC(lm1, type="HC1")
coeftest(lm1, vcov=vvlm1)
robust_residlm1 <- sqrt(diag(vvlm1))

#We then create and save our models for subsets of respondents who we identify as Democrats, Republicans, and Independents - again calculating and saving the HC1 robust standard errors for each.  
lm1_dem <- lm(Q39v2~Treatment2, data = All_Dems)
summary(lm1_dem)
vvlm1dem <- vcovHC(lm1_dem, type="HC1")
coeftest(lm1_dem, vcov=vvlm1dem)
robust_residlm1dem <- sqrt(diag(vvlm1dem))

lm1_rep <- lm(Q39v2~Treatment2, data = All_Reps)
summary(lm1_rep)
vvlm1rep <- vcovHC(lm1_rep, type="HC1")
coeftest(lm1_rep, vcov=vvlm1rep)
robust_residlm1rep <- sqrt(diag(vvlm1rep))

lm1_Ind <- lm(Q39v2~Treatment2, data = All_Indy)
summary(lm1_Ind)
vvlm1Ind <- vcovHC(lm1_Ind, type="HC1")
coeftest(lm1_Ind, vcov=vvlm1Ind)
robust_residlm1Ind <- sqrt(diag(vvlm1Ind))

#Finally we use Stargazer to generate Appendix B Table 2, drawing on the above models and robust standard errors. Our output is a word document. For ease we finalize teh formatting of the table within Microsoft Word itself. 
order<- c("Treatment2National identity/homeland", "Treatment2Religious freedom", "Treatment2Language rights")
stargazer(lm1_dem, lm1_rep, lm1_Ind, lm1, order=order, type= "html", se= list(robust_residlm1dem, robust_residlm1rep,robust_residlm1Ind, robust_residlm1), 
          title = "Table 2",
          digits=3, 
          column.labels = c("Democrats", "Republicans","Independents", "All"),
          column.separate = c(1, 1, 1, 1),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_Parties.doc')

#Next we repeat this cycle for "log 1" - our logistic regression model for Q40 asking  about respondents approval of Congress condemning Ethiopia. Again we re-enter log 1 and then create and save models for Democrat, Republican, and Independent subsets. 
log1 <- glm(Q40v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log1)

log1_Dem <- glm(Q40v2 ~ Treatment2, data = All_Dems, family = "binomial")
summary(log1_Dem)

log1_Rep <- glm(Q40v2 ~ Treatment2, data = All_Reps, family = "binomial")
summary(log1_Rep)

log1_Indy <- glm(Q40v2 ~ Treatment2, data = All_Indy, family = "binomial")
summary(log1_Indy)

#We then use Stargazer to create Appendix B Table 3. 
stargazer(log1_Dem, log1_Rep, log1_Indy, log1, order=order, type= "html", 
          title = "Table 3",
          digits=3, 
          column.labels = c("Democrats", "Republicans", "Indy", "All"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_Fin.doc')

#We repeat this process to create Appendix B Table 4. 
log2 <- glm(Q41v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log2)

log2_Dem <- glm(Q41v2 ~ Treatment2, data = All_Dems, family = "binomial")
summary(log2_Dem)

log2_Rep <- glm(Q41v2 ~ Treatment2, data = All_Reps, family = "binomial")
summary(log2_Rep)

log2_Indy <- glm(Q41v2 ~ Treatment2, data = All_Indy, family = "binomial")
summary(log2_Indy)

stargazer(log2_Dem, log2_Rep, log2_Indy, log2, order=order, type= "html", 
          title = "Table 4",
          digits=3, 
          column.labels = c("Democrats", "Republicans", "Indy", "All"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_Fin.doc')

#...Appendix B Table 5...
log3 <- glm(Q43v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log3)

log3_Dem <- glm(Q43v2 ~ Treatment2, data = All_Dems, family = "binomial")
summary(log3_Dem)

log3_Rep <- glm(Q43v2 ~ Treatment2, data = All_Reps, family = "binomial")
summary(log3_Rep)

log3_Indy <- glm(Q43v2 ~ Treatment2, data = All_Indy, family = "binomial")
summary(log3_Indy)

stargazer(log3_Dem, log3_Rep, log3_Indy, log3, order=order, type= "html", 
          title = "Table 5",
          digits=3, 
          column.labels = c("Democrats", "Republicans", "Indy", "All"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_Fin.doc')

#...and Appendix B Table 6. 
log4 <- glm(Q44v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log4)

log4_Dem <- glm(Q44v2 ~ Treatment2, data = All_Dems, family = "binomial")
summary(log4_Dem)

log4_Rep <- glm(Q44v2 ~ Treatment2, data = All_Reps, family = "binomial")
summary(log4_Rep)

log4_Indy <- glm(Q44v2 ~ Treatment2, data = All_Indy, family = "binomial")
summary(log4_Indy)

stargazer(log4_Dem, log4_Rep, log4_Indy, log4, order=order, type= "html", 
          title = "Table 6",
          digits=3, 
          column.labels = c("Democrats", "Republicans", "Indy", "All"),
          column.separate = c(1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q44_Fin.doc')

#In the main text of our article we include generated images of the marginal effects of our models (Figures 1 & 2). To create these, we first calculate and save the marginal effects of "lm1," our OLS model examining respondent approval of the Oromo. 

memn39<- avg_slopes(lm1, type = "response", vcov = "HC1")

#Below, we clean the marginal effects to prepare it for the creation of our figure - including renaming the "contrasts," ordering the IVs, and denoting our DV. 

MEorder39 <- c("Strongly Approve", "Approve", "Neither Approve nor Disapprove", "Disapprove", "Strongly Disapprove")

memn39$contrast
memn39$contrast[memn39$contrast=="Language rights - Control"] <- "Language Rights"
memn39$contrast[memn39$contrast=="National identity/homeland - Control"] <- "National ID"
memn39$contrast[memn39$contrast=="Religious freedom - Control"] <- "Religious Freedom"

MEordercont <- c("Language Rights","Religious Freedom","National ID")
memn39v2<- memn39%>%
  mutate(group=  factor(term, levels = MEorder39)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  arrange(desc(contrast), desc(term)) 

memn39v2$term <- "Approval of Oromo"
 
#Next, we repeat this process for our OLS models of our Republican and Democrat sample subsets. This is to prepare the data for Figure 2. 
memnRep39<- avg_slopes(lm1_rep, type = "response", vcov = "HC1")

memnRep39$contrast
memnRep39$contrast[memnRep39$contrast=="Language rights - Control"] <- "Language Rights"
memnRep39$contrast[memnRep39$contrast=="National identity/homeland - Control"] <- "National ID"
memnRep39$contrast[memnRep39$contrast=="Religious freedom - Control"] <- "Religious Freedom"

MEordercont <- c("Language Rights","Religious Freedom","National ID")
meRep39v2<- memnRep39%>%
  mutate(group=  factor(term, levels = MEorder39)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  arrange(desc(contrast), desc(term))
meRep39v2$term <- "Approval of Oromo"

memnDem39<- avg_slopes(lm1_dem, type = "response", vcov = "HC1")

memnDem39$contrast
memnDem39$contrast[memnDem39$contrast=="Language rights - Control"] <- "Language Rights"
memnDem39$contrast[memnDem39$contrast=="National identity/homeland - Control"] <- "National ID"
memnDem39$contrast[memnDem39$contrast=="Religious freedom - Control"] <- "Religious Freedom"

MEordercont <- c("Language Rights","Religious Freedom","National ID")
meDem39v2<- memnDem39%>%
  mutate(group=  factor(term, levels = MEorder39)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  arrange(desc(contrast), desc(term))
meDem39v2$term <- "Approval of Oromo"

# We then bind together the marginal effects for our OLS models of our total sample and Republican and Democrat subsets. 
ME39<- memn39v2
 ME39$Party <- "All"
ME39Rep<- meRep39v2
 ME39Rep$Party <- "Republican"
  ME39Dem<- meDem39v2
   ME39Dem$Party <- "Democrat"
   ME39AllParties<- rbind(ME39Rep, ME39Dem, ME39)


#We then calculate and save the marginal effects of log1, log2, and log3. We do not generate the marginal effects of log4, our model for the question asking about the UN dedicating resources to monitor the plight of the Oromo, as we failed to find statistically significant results for this model. 
#Figure 3 Q40, 41, 43

memn40<- avg_slopes(log1, type = "response")
memn41<- avg_slopes(log2, type = "response")
memn43<- avg_slopes(log3, type = "response")

memn40$DV <- "Congress Condemn"
memn41$DV <- "Congress Sanction"
memn43$DV <- "UN Condemn"

ME40_3All<- rbind(memn40, memn41, memn43)

ME40_3All$contrast[ME40_3All$contrast=="Language rights - Control"] <- "Language Rights"
ME40_3All$contrast[ME40_3All$contrast=="National identity/homeland - Control"] <- "National ID"
ME40_3All$contrast[ME40_3All$contrast=="Religious freedom - Control"] <- "Religious Freedom"

MEorderDV <- c("Congress Condemn","Congress Sanction","UN Condemn")
MEordercont <- c("Language Rights","Religious Freedom","National ID")
ME40_3Allv2<- ME40_3All%>%
  mutate(group=  factor(DV, levels = MEorderDV)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  arrange(desc(DV), desc(contrast))

 #We then add the marginal effects of lm1 (Q39)...
 #Adding 39
 memn39v3<-memn39v2
 memn39v3$DV <- "Oromo Approval"
 memn39v3$group <- "Oromo Approval"
 
 ME40_3Allv3 <- ME40_3Allv2
 ME40_3Allv3<- rbind(memn39v3, ME40_3Allv3)
 
 MEorderDV2 <- c("Oromo Approval", "Congress Condemn","Congress Sanction","UN Condemn")
MEordercont <- c("Language Rights","Religious Freedom","National ID")
ME40_3Allv4<- ME40_3Allv3%>%
  mutate(group=  factor(DV, levels = MEorderDV2)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  arrange(desc(DV), desc(contrast))

#...and generate Figure 1 using ggplot. 
   coef_plot_me40_43 <-
  ggplot(ME40_3Allv4  %>% arrange(desc(group)), aes(y = contrast, x = estimate)) +
  geom_point(aes(y = contrast, x=estimate), color= "darkorchid", position=position_dodge(width = 0.5)) +  
  geom_errorbarh(aes(xmax = conf.high, xmin = conf.low), color ="darkorchid", height = .2, lwd=.6,  position=position_dodge(width = 0.5)) + 
  geom_vline(xintercept =0, linetype = "dashed") +
  scale_shape_manual(values = c(0,2,19, 14, 21)) +
  facet_grid(.~group) +
  scale_x_continuous(name ="", limits=c(-0.3,0.3)) + theme(legend.position = "bottom")
 coef_plot_me40_43
 ggsave("Figure1.png", plot = coef_plot_me40_43, width = 9, height = 5, units = "in", dpi = 300)
 
 #We then replicate this process, but add marginal effects for the Republican and Democrat subsets to create Figure 2. 
 
memn40<- avg_slopes(log1, type = "response")
memn40_Rep<- avg_slopes(log1_Rep, type = "response")
memn40_Dem<- avg_slopes(log1_Dem, type = "response")
memn40$Party <- "All"
memn40_Rep$Party <- "Republican"
memn40_Dem$Party <- "Democrat"
ME40All<- rbind(memn40, memn40_Rep, memn40_Dem)
ME40All$DV <- "Congress Condemn"


memn41<- avg_slopes(log2, type = "response")
memn41_Rep<- avg_slopes(log2_Rep, type = "response")
memn41_Dem<- avg_slopes(log2_Dem, type = "response")
memn41$Party <- "All"
memn41_Rep$Party <- "Republican"
memn41_Dem$Party <- "Democrat"
ME41All<- rbind(memn41, memn41_Rep, memn41_Dem)
ME41All$DV <- "Congress Sanction"

memn43<- avg_slopes(log3, type = "response")
memn43_Rep<- avg_slopes(log3_Rep, type = "response")
memn43_Dem<- avg_slopes(log3_Dem, type = "response")
memn43$Party <- "All"
memn43_Rep$Party <- "Republican"
memn43_Dem$Party <- "Democrat"
ME43All<- rbind(memn43, memn43_Rep, memn43_Dem)
ME43All$DV <- "UN Condemn"


ME40_3PartyAll<- rbind(ME40All, ME41All, ME43All)

ME40_3PartyAll$contrast[ME40_3PartyAll$contrast=="Language rights - Control"] <- "Language Rights"
ME40_3PartyAll$contrast[ME40_3PartyAll$contrast=="National identity/homeland - Control"] <- "National ID"
ME40_3PartyAll$contrast[ME40_3PartyAll$contrast=="Religious freedom - Control"] <- "Religious Freedom"

MEorderDV <- c("Congress Condemn","Congress Sanction","UN Condemn", "UN Resources")
MEordercont <- c("Language Rights","Religious Freedom","National ID")
MEorderParty <- c("Democrat","Republican","All")
ME40_3PartyAllv2<- ME40_3PartyAll%>%
  mutate(group=  factor(DV, levels = MEorderDV)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  mutate(Party=  factor(Party, levels = MEorderParty)) %>%
  arrange(desc(DV), desc(Party), desc(contrast))
 
 #Next we merge our marginal effects for Q39 (including partisan subsets) with those from Q40, 41, and 43)
 ME39AllParties2 <- ME39AllParties
 ME39AllParties2$DV <- "Oromo Approval"
  ME39AllParties2$group <- "Oromo Approval"
  ME40_3PartyAllv3<- rbind(ME39AllParties2, ME40_3PartyAllv2)
  
  ME40_3PartyAllv4<- ME40_3PartyAllv3%>%
  mutate(group=  factor(DV, levels = MEorderDV2)) %>%
  mutate(contrast=  factor(contrast, levels = MEordercont)) %>%
  mutate(Party=  factor(Party, levels = MEorderParty)) %>%
  arrange(desc(DV), desc(Party), desc(contrast))

#And we generate Figure 2 using ggplot.
      coef_plot_me40_43Party <-
  ggplot(ME40_3PartyAllv4  %>% arrange(desc(group)), aes(y = contrast, x = estimate, color=Party, fill=Party)) +
  geom_point(aes(y = contrast, x=estimate, shape=Party), position=position_dodge(width = 0.5)) +  
  geom_errorbarh(aes(xmax = conf.high, xmin = conf.low, linetype = Party), height = .4, lwd=.6,  position=position_dodge(width = 0.5)) + 
  geom_vline(xintercept =0, linetype = "dashed") +
  scale_shape_manual(values = c(0,2,19, 14, 21)) +
  facet_grid(.~group) +
  scale_x_continuous(name ="", limits=c(-0.35,0.35)) + theme(legend.position = "bottom")
 coef_plot_me40_43Party
 ggsave("Figure2.png", plot = coef_plot_me40_43Party, width = 9, height = 5, units = "in", dpi = 300)
 
 #In our article we also reference the substantive significance of our findings in terms of probabilities. For transparency, we include our calculations for these below. 

#Probabilities for Q40 (Appendix B Table 3)
intercept40 <- coef(log1)[1]
intercept40_odds<- exp(intercept40)
prob_intercept40 <- intercept40_odds/(1+intercept40_odds)
#prob_intercept40 is the probability of responding "yes" to Q40 when only exposed to our control.
LR40<-coef(log1)[2]
LR40_true <- LR40+intercept40
LR40_true_odds<- exp(LR40_true)
prob_LR40_true <- LR40_true_odds/(1+LR40_true_odds)
#To obtain the probability of responding "yes" to Q40 when exposed to our language rights treatment we need to add the coefficient for language rights to our intercept before deriving the probability (prob_LR40_true).
#
#We repeat this for our national identity and religious freedom treatments
NR40<- coef(log1)[3]
NR40_true <- NR40+intercept40
NR40_true_odds<- exp(NR40_true)
prob_NR40_true <- NR40_true_odds/(1+NR40_true_odds)

RF40<- coef(log1)[4]
RF40_true <- RF40+intercept40
RF40_true_odds<- exp(RF40_true)
prob_RF40_true <- RF40_true_odds/(1+RF40_true_odds)

#The marginal effects we discuss on pg.18 in terms of increases in probability are calculated simply by:
prob_LR40_true - prob_intercept40 -> LR40_change_in_prob
prob_RF40_true - prob_intercept40 -> RF40_change_in_prob

#Probabilities for Q41 (Appendix B Table 4)

intercept41 <- coef(log2)[1]
intercept41_odds<- exp(intercept41)
prob_intercept41 <- intercept41_odds/(1+intercept41_odds)

LR41<-coef(log2)[2]
LR41_true <- LR41+intercept41
LR41_true_odds<- exp(LR41_true)
prob_LR41_true <- LR41_true_odds/(1+LR41_true_odds)

NR41<- coef(log2)[3]
NR41_true <- NR41+intercept41
NR41_true_odds<- exp(NR41_true)
prob_NR41_true <- NR41_true_odds/(1+NR41_true_odds)

RF41<- coef(log2)[4]
RF41_true <- RF41+intercept41
RF41_true_odds<- exp(RF41_true)
prob_RF41_true <- RF41_true_odds/(1+RF41_true_odds)

prob_LR41_true - prob_intercept41 -> LR41_change_in_prob
prob_RF41_true - prob_intercept41 -> RF41_change_in_prob

#Probabilities for Q43 (Appendix B Table 5)

intercept43 <- coef(log3)[1]
intercept43_odds<- exp(intercept43)
prob_intercept43 <- intercept43_odds/(1+intercept43_odds)

LR43<-coef(log3)[2]
LR43_true <- LR43+intercept43
LR43_true_odds<- exp(LR43_true)
prob_LR43_true <- LR43_true_odds/(1+LR43_true_odds)

NR43<- coef(log3)[3]
NR43_true <- NR43+intercept43
NR43_true_odds<- exp(NR43_true)
prob_NR43_true <- NR43_true_odds/(1+NR43_true_odds)

RF43<- coef(log3)[4]
RF43_true <- RF43+intercept43
RF43_true_odds<- exp(RF43_true)
prob_RF43_true <- RF43_true_odds/(1+RF43_true_odds)

prob_LR43_true - prob_intercept43 -> LR43_change_in_prob
prob_RF43_true - prob_intercept43 -> RF43_change_in_prob


#Appendices
#The remainder of this data file contains the replication code for our appendices. 

#Appendix A Table 1 contains balance tests on our sample using a mixture of chi-squared and ANOVA tests. We conduct these in the order in which they appear on Table 1. Table 1 was generated in Microsoft Word with the following calculations manually entered.   
 
#Gender
#For our first row we conduct a chi-squared test using a dichotomous variable for "Women" which serves as a stand in for gender (coded as Men or Women).
TacticsData_clean$WomenID2 <- TacticsData_clean$WomenID 
TacticsData_clean$WomenID2<- as.factor(TacticsData_clean$WomenID2)

tbl.1 = table(TacticsData_clean$Treatment2, TacticsData_clean$WomenID2)
tbl.1
chisq.test(tbl.1)
table(TacticsData_clean$WomenID2)
1404+1300

#Evangelical Christian
#For our next row we conduct a chi-squared test for Evangelical Christian identity.

TacticsData_clean$EvID2 <- TacticsData_clean$EvID 
TacticsData_clean$EvID2 <- as.factor(TacticsData_clean$EvID2)
tbl.2 = table(TacticsData_clean$Treatment2, TacticsData_clean$EvID2)
tbl.2
chisq.test(tbl.2)
table(TacticsData_clean$EvID2)
2294+403 

#Born-again Christian 
#We conduct a chi-squared test for born-again Christian identity.
TacticsData_clean$BACID2 <- TacticsData_clean$BACID
TacticsData_clean$BACID2 <- as.factor(TacticsData_clean$BACID2)

tbl.3 = table(TacticsData_clean$Treatment2, TacticsData_clean$BACID2)
tbl.3
chisq.test(tbl.3)
table(TacticsData_clean$BACID)
2002+695

#Race
#For the racial balance of our sample we conduct two tests. The first is a chi-squared test of the racial categories reported. The second is a chi-squared test for those respondents identified as White, versus those put in other categories. This is because our sample was disproportionately White. 
TacticsData_clean$RACEID <- with(TacticsData_clean, 
                ifelse(race.wt=="White", 4,
                       ifelse(race.wt == "Black", 3, 
                              ifelse(race.wt == "Hispanic", 2,
                                     ifelse(race.wt== "Asian", 1,
                                            ifelse(race.wt== "Other", 0, NA))))))
TacticsData_clean$RACEID2 <- TacticsData_clean$RACEID
TacticsData_clean$RACEID2 <- as.factor(TacticsData_clean$RACEID2)

tbl.4 = table(TacticsData_clean$Treatment2, TacticsData_clean$RACEID2)
tbl.4
chisq.test(tbl.4)

table(TacticsData_clean$RACEID2)
62+47+235+196+2164

class(TacticsData_clean$WhiteID)
TacticsData_clean$WhiteID2 <- TacticsData_clean$WhiteID
TacticsData_clean$WhiteID2 <- as.factor(TacticsData_clean$WhiteID2)

tbl.5 = table(TacticsData_clean$Treatment2, TacticsData_clean$WhiteID2)
tbl.5
chisq.test(tbl.5)
table(TacticsData_clean$WhiteID)
540+2164

#Education
#For a balance test of education, we conduct a one-way, type-II ANOVA test. In addition we conduct a chi-squared test to test the balance in our sample between those with a BA?BS or greater education and those with less. 
TacticsData_clean$EducatID <- with(TacticsData_clean, 
                ifelse(educat.wt=="BA/BS+", 4,
                       ifelse(educat.wt == "Some college", 3, 
                              ifelse(educat.wt == "Less than HS", 2,
                                     ifelse(educat.wt== "High School Diploma", 1, NA)))))
aov.1 <- Anova(lm(EducatID~Treatment2, data = TacticsData_clean), type = "II")
aov.1
table(TacticsData_clean$EducatID)
340+29+767+1568

class(TacticsData_clean$BA_BS_plus)
TacticsData_clean$BA_BS_plus2 <- TacticsData_clean$BA_BS_plus
TacticsData_clean$BA_BS_plus2 <- as.factor(TacticsData_clean$BA_BS_plus2)

tbl.6 = table(TacticsData_clean$Treatment2, TacticsData_clean$BA_BS_plus2)
tbl.6
chisq.test(tbl.6)

table(TacticsData_clean$BA_BS_plus2)
1136+1568

#Partisanship
#Finally, we conduct chi-squared tests on partisanship, as well as dichotomous variables indicating whether a respondent is a Republican or not, and a Democrat or not. 
TacticsData_clean$PARTYID <- with(TacticsData_clean, 
                ifelse(partyid=="REPUBLICAN PARTY", 2,
                       ifelse(partyid == "DEMOCRATIC PARTY", 1,
                              ifelse(partyid == "INDEPENDENT", 0, NA))))
TacticsData_clean$PARTYID2 <- TacticsData_clean$PARTYID
TacticsData_clean$PARTYID2 <- as.factor(TacticsData_clean$PARTYID2)

tbl.7 = table(TacticsData_clean$Treatment2, TacticsData_clean$PARTYID2)
tbl.7
chisq.test(tbl.7)
table(TacticsData_clean$PARTYID2)
346+1256+1102

class(TacticsData_clean$RepID)
TacticsData_clean$RepID2 <- TacticsData_clean$RepID
TacticsData_clean$RepID2 <- as.factor(TacticsData_clean$RepID2)

tbl.8 = table(TacticsData_clean$Treatment2, TacticsData_clean$RepID2)
tbl.8
chisq.test(tbl.8)
table(TacticsData_clean$RepID2)
1602+1102

class(TacticsData_clean$DemID)
TacticsData_clean$DemID2 <- TacticsData_clean$DemID
TacticsData_clean$DemID2 <- as.factor(TacticsData_clean$DemID2)

tbl.9 = table(TacticsData_clean$Treatment2, TacticsData_clean$DemID2)
tbl.9
chisq.test(tbl.9)
table(TacticsData_clean$DemID2)
1448+1256


#Appendix C

#In Appendix C we analyze the effect of our treatments among subsets of our sample according to their religious identity. Specifically we examine the effect of our treatments on Christian, Evangelical Christian, White Evangelical Christian, born-again Christian, and Non-Christian respondents. Note: Non-Christian are those respondents who did answer Q3 (What is your religion?) but did not answer "Baptist (any denomination)", "Catholic", "Eastern Orthodox", "Mormon", "Pentecostal", "Other Christian", or "Other Protestant (Methodist, Lutheran, Presbyterian, Episcopalian)" i.e. all the answers indicating Christian identity. 
#
#For each subset we create an OLS model with our treatment categories as the IV and calculate the robust standard errors. We then create a table using stargazer, which we edit before including in our article.

#Appendix C Table 7
lm1 <- lm(Q39v2~Treatment2, data = TacticsData_clean)
summary(lm1)
vvlm1 <- vcovHC(lm1, type="HC1")
coeftest(lm1, vcov=vvlm1)
robust_residlm1 <- sqrt(diag(vvlm1))

lm1_subC <- lm(Q39v2~Treatment2, data = All_Christian)
summary(lm1_subC)
vvlm1_subC <- vcovHC(lm1_subC, type="HC1")
coeftest(lm1_subC, vcov=vvlm1_subC)
robust_residlm1_subC <- sqrt(diag(vvlm1_subC))

lm1_subEv <- lm(Q39v2~Treatment2, data = All_Ev)
summary(lm1_subEv)
vvlm1_subEv <- vcovHC(lm1_subEv, type="HC1")
coeftest(lm1_subEv, vcov=vvlm1_subEv)
robust_residlm1_subEv <- sqrt(diag(vvlm1_subEv))
#Intercept is significant at p<0.01. Due to a rounding error, Stargazer displays significance at p<0.001. We have corrected this manually in Appendix C Table 7.

lm1_subWEv <- lm(Q39v2~Treatment2, data = All_WEv)
summary(lm1_subWEv)
vvlm1_subWEv <- vcovHC(lm1_subWEv, type="HC1")
coeftest(lm1_subWEv, vcov=vvlm1_subWEv)
robust_residlm1_subWEv <- sqrt(diag(vvlm1_subWEv))

lm1_subBAC <- lm(Q39v2~Treatment2, data = All_BAC)
summary(lm1_subBAC)
vvlm1_subBAC <- vcovHC(lm1_subBAC, type="HC1")
coeftest(lm1_subBAC, vcov=vvlm1_subBAC)
robust_residlm1_subBAC <- sqrt(diag(vvlm1_subBAC))

lm1_subNC <- lm(Q39v2~Treatment2, data = All_Non_Christian)
summary(lm1_subNC)
vvlm1_subNC <- vcovHC(lm1_subNC, type="HC1")
coeftest(lm1_subNC, vcov=vvlm1_subNC)
robust_residlm1_subNC <- sqrt(diag(vvlm1_subNC))

#Note: Stargazer has character limits, so we save our models and standard errors under shorter names. 
order<- c("Treatment2National identity/homeland", "Treatment2Religious freedom", "Treatment2Language rights")
m1<-lm1_subC
m2<- lm1_subEv
m3<- lm1_subWEv
m4<- lm1_subBAC
m5<- lm1_subNC
m6 <- lm1

x1 <- robust_residlm1_subC
x2 <- robust_residlm1_subEv
x3 <- robust_residlm1_subWEv
x4 <- robust_residlm1_subBAC
x5 <- robust_residlm1_subNC
x6 <- robust_residlm1
stargazer(m1, m2, m3, m4, m5, m6, order=order, type= "html", se= list(x1, x2, x3, x4, x5, x6), 
          title = "Table 7",
          digits=3, 
          column.labels = c("Christians", "Evangelicals","White Evs", "BAC", "Non-Christ.", "All"),
          column.separate = c(1, 1, 1, 1, 1),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_ReligiousDiff.doc')

##For Q40, Q41, and Q43, we create logistic regressions of each subset and again use stargazer to create our tables. 

#Appendix C Table 8
log1 <- glm(Q40v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log1)

log1_subC <- glm(Q40v2 ~ Treatment2, data = All_Christian, family = "binomial")
summary(log1_subC)
l1C<- log1_subC

log1_subEv <- glm(Q40v2 ~ Treatment2, data = All_Ev, family = "binomial")
summary(log1_subEv)
l1E <- log1_subEv

log1_subWEv <- glm(Q40v2 ~ Treatment2, data = All_WEv, family = "binomial")
summary(log1_subWEv)
l1WE <- log1_subWEv

log1_subBAC <- glm(Q40v2 ~ Treatment2, data = All_BAC, family = "binomial")
summary(log1_subBAC)
l1BAC <- log1_subBAC

log1_subNC <- glm(Q40v2 ~ Treatment2, data = All_Non_Christian, family = "binomial")
summary(log1_subNC)
l1NC <- log1_subNC

stargazer(l1C, l1E, l1WE, l1BAC, l1NC, log1, order=order, type= "html", 
          title = "Table 8",
          digits=3, 
          column.labels = c("Christians", "Evangelicals","White Evs", "BAC", "Non-Christ.", "All"),
          column.separate = c(1, 1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_SubRelig.doc')


#Appendix C Table 9
log2 <- glm(Q41v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log2)

log2_subC <- glm(Q41v2 ~ Treatment2, data = All_Christian, family = "binomial")
summary(log2_subC)
l2C<- log2_subC

log2_subEv <- glm(Q41v2 ~ Treatment2, data = All_Ev, family = "binomial")
summary(log2_subEv)
l2E <- log2_subEv

log2_subWEv <- glm(Q41v2 ~ Treatment2, data = All_WEv, family = "binomial")
summary(log2_subWEv)
l2WE <- log2_subWEv

log2_subBAC <- glm(Q41v2 ~ Treatment2, data = All_BAC, family = "binomial")
summary(log2_subBAC)
l2BAC <- log2_subBAC

log2_subNC <- glm(Q41v2 ~ Treatment2, data = All_Non_Christian, family = "binomial")
summary(log2_subNC)
l2NC <- log2_subNC

stargazer(l2C, l2E, l2WE, l2BAC, l2NC, log2, order=order, type= "html", 
          title = "Table 9",
          digits=3, 
          column.labels = c("Christians", "Evangelicals","White Evs", "BAC", "Non-Christ.", "All"),
          column.separate = c(1, 1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_SubRelig.doc')

#Appendix C Table 10
log3 <- glm(Q43v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log3)

log3_subC <- glm(Q43v2 ~ Treatment2, data = All_Christian, family = "binomial")
summary(log3_subC)
l3C<- log3_subC

log3_subEv <- glm(Q43v2 ~ Treatment2, data = All_Ev, family = "binomial")
summary(log3_subEv)
l3E <- log3_subEv

log3_subWEv <- glm(Q43v2 ~ Treatment2, data = All_WEv, family = "binomial")
summary(log3_subWEv)
l3WE <- log3_subWEv

log3_subBAC <- glm(Q43v2 ~ Treatment2, data = All_BAC, family = "binomial")
summary(log3_subBAC)
l3BAC <- log3_subBAC

log3_subNC <- glm(Q43v2 ~ Treatment2, data = All_Non_Christian, family = "binomial")
summary(log3_subNC)
l3NC <- log3_subNC

stargazer(l3C, l3E, l3WE, l3BAC, l3NC, log3, order=order, type= "html", 
          title = "Table 10",
          digits=3, 
          column.labels = c("Christians", "Evangelicals","White Evs", "BAC", "Non-Christ.", "All"),
          column.separate = c(1, 1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_SubRelig.doc')

#Appendix D
#
#In Appendix D we again test the effect of our treatments on respondents of different religious identities. In these models, rather than subseting our samples, we instead include IVs for Christian, Evangelical Christian, and born-again Christian identities, respectively. We also interact these identities with our treatments. As in Appendix C, we create OLS models for Q39, calculating robust standard errors, and for Q40, 41, and 43, we create logistic regression models.
#
#Appendix D Table 11
lm1_Christian <- lm(Q39v2~Treatment2+Christian + Treatment2*Christian, data = TacticsData_clean)
summary(lm1_Christian)
vvlm1Chr <- vcovHC(lm1_Christian, type="HC1")
coeftest(lm1_Christian, vcov=vvlm1Chr)
robust_residlm1Chr <- sqrt(diag(vvlm1Chr))

lm1_Ev <- lm(Q39v2~Treatment2+EvID + Treatment2*EvID, data = TacticsData_clean)
summary(lm1_Ev)
vvlm1Ev <- vcovHC(lm1_Ev, type="HC1")
coeftest(lm1_Ev, vcov=vvlm1Ev)
robust_residlm1Ev <- sqrt(diag(vvlm1Ev))

lm1_BAC <- lm(Q39v2~Treatment2+BACID + Treatment2*BACID, data = TacticsData_clean)
summary(lm1_BAC)
vvlm1BAC <- vcovHC(lm1_BAC, type="HC1")
coeftest(lm1_BAC, vcov=vvlm1BAC)
robust_residlm1BAC <- sqrt(diag(vvlm1BAC))

orderrelig<- c("Christian", "EvID", "BACID","Treatment2National identity/homeland", "Treatment2Religious freedom", "Treatment2Language rights", "Christian:Treatment2National identity/homeland", "Christian:Treatment2Religious freedom", "Christian:Treatment2Language rights", "EvID:Treatment2National identity/homeland", "EvID:Treatment2Religious freedom", "EvID:Treatment2Language rights", "BACID:Treatment2National identity/homeland", "BACID:Treatment2Religious freedom", "BACID:Treatment2Language rights")

stargazer(lm1_Christian, lm1_Ev, lm1_BAC, order=orderrelig, type= "html", se= list(robust_residlm1Chr, robust_residlm1Ev, robust_residlm1BAC), 
          title = "Table 11",
          digits=3, 
          column.labels = c("Christians", "Evangelical","Born Again"),
          column.separate = c(1, 1, 1, 1),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_Religious Interaction.doc')

#Appendix D Table 12
log1_Christian <- glm(Q40v2 ~ Treatment2 + Christian + Treatment2*Christian, data = TacticsData_clean, family = "binomial")
summary(log1_Christian)

log1_Ev <- glm(Q40v2 ~ Treatment2 + EvID + Treatment2*EvID, data = TacticsData_clean, family = "binomial")
summary(log1_Ev)

log1_BAC <- glm(Q40v2 ~ Treatment2 + BACID + Treatment2*BACID, data = TacticsData_clean, family = "binomial")
summary(log1_BAC)

stargazer(log1_Christian, log1_Ev, log1_BAC, order=orderrelig, type= "html", 
          title = "Table 12",
          digits=3, 
          column.labels = c("Christians", "Evangelical","Born Again"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_Religious Interaction.doc')

#Appendix D Table 13

log2_Christian <- glm(Q41v2 ~ Treatment2 + Christian + Treatment2*Christian, data = TacticsData_clean, family = "binomial")
summary(log2_Christian)

log2_Ev <- glm(Q41v2 ~ Treatment2 + EvID + Treatment2*EvID, data = TacticsData_clean, family = "binomial")
summary(log2_Ev)

log2_BAC <- glm(Q41v2 ~ Treatment2 + BACID + Treatment2*BACID, data = TacticsData_clean, family = "binomial")
summary(log2_BAC)

stargazer(log2_Christian, log2_Ev, log2_BAC, order=orderrelig, type= "html", 
          title = "Table 13",
          digits=3, 
          column.labels = c("Christians", "Evangelical","Born Again"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_Religious Interaction.doc')

#Appendix D Table 14
log3_Christian <- glm(Q43v2 ~ Treatment2 + Christian + Treatment2*Christian, data = TacticsData_clean, family = "binomial")
summary(log3_Christian)

log3_Ev <- glm(Q43v2 ~ Treatment2 + EvID + Treatment2*EvID, data = TacticsData_clean, family = "binomial")
summary(log3_Ev)

log3_BAC <- glm(Q43v2 ~ Treatment2 + BACID + Treatment2*BACID, data = TacticsData_clean, family = "binomial")
summary(log3_BAC)

stargazer(log3_Christian, log3_Ev, log3_BAC, order=orderrelig, type= "html", 
          title = "Table 14",
          digits=3, 
          column.labels = c("Christians", "Evangelical","Born Again"),
          column.separate = c(1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_Religious Interaction.doc')

#Appendix E
#
#As a further robustness check, we replicate our work in Appendix D, but add controls for gender, race (Non-White identity, indicating the respondent was categorized in a racial category other than "White" which may include "Other"), BA/BS+ level of education, Republican identity, and Independent (partisan) identity. 
#
#Here again, OLS models with robust standard errors are used to analyze Q39, while logistic regressions are used for Q40, Q41, and Q43. 

#Appendix E Table 15
lm1_Christian_Controls2 <- lm(Q39v2~Treatment2+Christian + Treatment2*Christian + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean)
summary(lm1_Christian_Controls2)
vvlm1Chr_Controls2 <- vcovHC(lm1_Christian_Controls2, type="HC1")
coeftest(lm1_Christian_Controls2, vcov=vvlm1Chr_Controls2)
robust_residlm1Chr_Controls2 <- sqrt(diag(vvlm1Chr_Controls2))

lm1_Ev_Controls2 <- lm(Q39v2~Treatment2+EvID + Treatment2*EvID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean)
summary(lm1_Ev_Controls2)
vvlm1Ev_Controls2 <- vcovHC(lm1_Ev_Controls2, type="HC1")
coeftest(lm1_Ev_Controls2, vcov=vvlm1Ev_Controls2)
robust_residlm1Ev_Controls2 <- sqrt(diag(vvlm1Ev_Controls2))

lm1_BAC_Controls2 <- lm(Q39v2~Treatment2+BACID + Treatment2*BACID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean)
summary(lm1_BAC_Controls2)
vvlm1BAC_Controls2 <- vcovHC(lm1_BAC_Controls2, type="HC1")
coeftest(lm1_BAC_Controls2, vcov=vvlm1BAC_Controls2)
robust_residlm1BAC_Controls2 <- sqrt(diag(vvlm1BAC_Controls2))

stargazer(lm1_Christian_Controls2, lm1_Ev_Controls2, lm1_BAC_Controls2, order=orderrelig, type= "html", se= list(robust_residlm1Chr_Controls2, robust_residlm1Ev_Controls2, robust_residlm1BAC_Controls2), 
          title = "Table 15",
          digits=3, 
          column.labels = c("Approval of the Oromo"),
          column.separate = c(3),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_Relig_Inter_Controls.doc')

#Appendix E Table 16
 log1_Christian_controls2 <- glm(Q40v2 ~ Treatment2 + Christian + Treatment2*Christian + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log1_Christian_controls2)

 log1_Ev_controls2 <- glm(Q40v2 ~ Treatment2 + EvID + Treatment2*EvID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log1_Ev_controls2)

log1_BAC_controls2 <- glm(Q40v2 ~ Treatment2 + BACID + Treatment2*BACID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log1_BAC_controls2)

stargazer(log1_Christian_controls2, log1_Ev_controls2, log1_BAC_controls2, order=orderrelig, type= "html", 
          title = "Table 16",
          digits=3, 
          column.labels = c("Approve of Congress Condemning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_Relig_Inter_controls.doc')

#Appendix E Table 17
log2_Christian_controls2 <- glm(Q41v2 ~ Treatment2 + Christian + Treatment2*Christian + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log2_Christian_controls2)

log2_Ev_controls2 <- glm(Q41v2 ~ Treatment2 + EvID + Treatment2*EvID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log2_Ev_controls2)

log2_BAC_controls2 <- glm(Q41v2 ~ Treatment2 + BACID + Treatment2*BACID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log2_BAC_controls2)

stargazer(log2_Christian_controls2, log2_Ev_controls2, log2_BAC_controls2, order=orderrelig, type= "html", 
          title = "Table 17",
          digits=3, 
          column.labels = c("Approve of Congress Condemning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_Relig_Inter_controls.doc')

#Appendix E Table 18
log3_Christian_controls2 <- glm(Q43v2 ~ Treatment2 + Christian + Treatment2*Christian + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log3_Christian_controls2)

log3_Ev_controls2 <- glm(Q43v2 ~ Treatment2 + EvID + Treatment2*EvID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log3_Ev_controls2)

log3_BAC_controls2 <- glm(Q43v2 ~ Treatment2 + BACID + Treatment2*BACID + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log3_BAC_controls2)

stargazer(log3_Christian_controls2, log3_Ev_controls2, log3_BAC_controls2, order=orderrelig, type= "html", 
          title = "Table 18",
          digits=3, 
          column.labels = c("Approve of Congress Condemning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_Relig_Inter_controls.doc')

#Appendix F

#In Appendix F we test the effect of our treatment among respondents of different racial identities. As in Appendix C we subset our sample and replicate the models in our primary analysis. Specifically, we examine subsets of respondents identified as White, Black, Hispanic, and Non-White/Other (NonWhiteID).
#
#Again, Q39 is examined using OLS models with robust standard errors, and Q40, 41, and 43 with logistic regressions.

#Q39 Differentiated by Race

lm1 <- lm(Q39v2~Treatment2, data = TacticsData_clean)
summary(lm1)
vvlm1 <- vcovHC(lm1, type="HC1")
coeftest(lm1, vcov=vvlm1)
robust_residlm1 <- sqrt(diag(vvlm1))

lm1_subW <- lm(Q39v2~Treatment2, data = All_White)
summary(lm1_subW)
vvlm1_subW <- vcovHC(lm1_subW, type="HC1")
coeftest(lm1_subW, vcov=vvlm1_subW)
robust_residlm1_subW <- sqrt(diag(vvlm1_subW))

lm1_subB <- lm(Q39v2~Treatment2, data = All_Black)
summary(lm1_subB)
vvlm1_subB <- vcovHC(lm1_subB, type="HC1")
coeftest(lm1_subB, vcov=vvlm1_subB)
robust_residlm1_subB <- sqrt(diag(vvlm1_subB))

lm1_subH <- lm(Q39v2~Treatment2, data = All_Hispanic)
summary(lm1_subH)
vvlm1_subH <- vcovHC(lm1_subH, type="HC1")
coeftest(lm1_subH, vcov=vvlm1_subH)
robust_residlm1_subH <- sqrt(diag(vvlm1_subH))

lm1_subNW <- lm(Q39v2~Treatment2, data = All_NonWhite)
summary(lm1_subNW)
vvlm1_subNW <- vcovHC(lm1_subNW, type="HC1")
coeftest(lm1_subNW, vcov=vvlm1_subNW)
robust_residlm1_subNW <- sqrt(diag(vvlm1_subNW))

order<- c("Treatment2National identity/homeland", "Treatment2Religious freedom", "Treatment2Language rights")
a1<-lm1_subW
a2<- lm1_subB
a3<- lm1_subH
a4<- lm1_subNW
a5 <- lm1

b1 <- robust_residlm1_subW
b2 <- robust_residlm1_subB
b3 <- robust_residlm1_subH
b4 <- robust_residlm1_subNW
b5 <- robust_residlm1
stargazer(a1, a2, a3, a4, a5, order=order, type= "html", se= list(b1, b2, b3, b4, b5), 
          title = "Table 19",
          digits=3, 
          column.labels = c("White", "Black","Hispanic", "Non-White/Other", "All"),
          column.separate = c(1, 1, 1, 1, 1),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_RaceDiff.doc')

#Appendix F Table 20

log1 <- glm(Q40v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log1)

log1_subW <- glm(Q40v2 ~ Treatment2, data = All_White, family = "binomial")
summary(log1_subW)
l1W<- log1_subW

log1_subB <- glm(Q40v2 ~ Treatment2, data = All_Black, family = "binomial")
summary(log1_subB)
l1B<- log1_subB

log1_subH <- glm(Q40v2 ~ Treatment2, data = All_Hispanic, family = "binomial")
summary(log1_subH)
l1H<- log1_subH

log1_subNW <- glm(Q40v2 ~ Treatment2, data = All_NonWhite, family = "binomial")
summary(log1_subNW)
l1NW<- log1_subNW

stargazer(l1W, l1B, l1H, l1NW, log1, order=order, type= "html", 
          title = "Table 20",
          digits=3, 
          column.labels = c("White", "Black","Hispanic", "Non-White/Other", "All"),
          column.separate = c(1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_SubRace.doc')

#Appendix F Table 21
log2 <- glm(Q41v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log2)

log2_subW <- glm(Q41v2 ~ Treatment2, data = All_White, family = "binomial")
summary(log2_subW)
l2W<- log2_subW

log2_subB <- glm(Q41v2 ~ Treatment2, data = All_Black, family = "binomial")
summary(log2_subB)
l2B<- log2_subB

log2_subH <- glm(Q41v2 ~ Treatment2, data = All_Hispanic, family = "binomial")
summary(log2_subH)
l2H<- log2_subH

log2_subNW <- glm(Q41v2 ~ Treatment2, data = All_NonWhite, family = "binomial")
summary(log2_subNW)
l2NW<- log2_subNW

stargazer(l2W, l2B, l2H, l2NW, log2, order=order, type= "html", 
          title = "Table 21",
          digits=3, 
          column.labels = c("White", "Black","Hispanic", "Non-White/Other", "All"),
          column.separate = c(1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_SubRace.doc')

#Appendix F Table 22

log3 <- glm(Q43v2 ~ Treatment2, data = TacticsData_clean, family = "binomial")
summary(log3)

log3_subW <- glm(Q43v2 ~ Treatment2, data = All_White, family = "binomial")
summary(log3_subW)
l3W<- log3_subW

log3_subB <- glm(Q43v2 ~ Treatment2, data = All_Black, family = "binomial")
summary(log3_subB)
l3B<- log3_subB

log3_subH <- glm(Q43v2 ~ Treatment2, data = All_Hispanic, family = "binomial")
summary(log3_subH)
l3H<- log3_subH

log3_subNW <- glm(Q43v2 ~ Treatment2, data = All_NonWhite, family = "binomial")
summary(log3_subNW)
l3NW<- log3_subNW

stargazer(l3W, l3B, l3H, l3NW, log3, order=order, type= "html", 
          title = "Table 22",
          digits=3, 
          column.labels = c("White", "Black","Hispanic", "Non-White/Other", "All"),
          column.separate = c(1, 1, 1, 1, 1),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_SubRace.doc')

#Appendix G
#
# As a robustness check, in Appendix G we repeat are primary analysis models with the addition of controls. Our first models are our primary models while models 2 contain controls for gender (Women), race (non-White/Other), and education (BA/BS+). Models 3 add to this with controls for partisanship (Republican and Independent identities).
#
#The Table for Q39 contains OLS models with robust standard errors, while the models for Q40, 41, and 43 contain logistic regression models. 
#
#Appendix G Table 23
lm1_controls <- lm(Q39v2~Treatment2 + WomenID + NonWhiteID + BA_BS_plus, data = TacticsData_clean)
summary(lm1_controls)
vvlm1_cont <- vcovHC(lm1_controls, type="HC1")
coeftest(lm1_controls, vcov=vvlm1_cont)
robust_residlm1_cont <- sqrt(diag(vvlm1_cont))

lm1_controls2 <- lm(Q39v2~Treatment2 + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean)
summary(lm1_controls2)
vvlm1_cont2 <- vcovHC(lm1_controls2, type="HC1")
coeftest(lm1_controls2, vcov=vvlm1_cont2)
robust_residlm1_cont2 <- sqrt(diag(vvlm1_cont2))

stargazer(lm1,lm1_controls, lm1_controls2, order=order, type= "html", se= list(robust_residlm1, robust_residlm1_cont, robust_residlm1_cont2), 
          title = "Table 23",
          digits=3, 
          column.labels = c("Approval of the Oromo"),
          column.separate = c(3),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'LM_Q39_Controls.doc')

#Appendix G Table 24

log1_controls <- glm(Q40v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus, data = TacticsData_clean, family = "binomial")
summary(log1_controls)

log1_controls2 <- glm(Q40v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log1_controls2)

stargazer(log1,log1_controls, log1_controls2, order=order, type= "html", 
          title = "Table 24",
          digits=3, 
          column.labels = c("Approval of Congress Condemning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q40_Controls.doc')

#Appendix G Table 25

log2_controls <- glm(Q41v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus, data = TacticsData_clean, family = "binomial")
summary(log2_controls)

log2_controls2 <- glm(Q41v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log2_controls2)

stargazer(log2,log2_controls, log2_controls2, order=order, type= "html", 
          title = "Table 25",
          digits=3, 
          column.labels = c("Approval of Congress Sanctioning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q41_Controls.doc')

#Appendix G Table 26

log3_controls <- glm(Q43v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus, data = TacticsData_clean, family = "binomial")
summary(log3_controls)

log3_controls2 <- glm(Q43v2 ~ Treatment2 + WomenID + NonWhiteID + BA_BS_plus + RepID + IndyID, data = TacticsData_clean, family = "binomial")
summary(log3_controls2)

stargazer(log3,log3_controls, log3_controls2, order=order, type= "html", 
          title = "Table 26",
          digits=3, 
          column.labels = c("Approval of UN Condemning Ethiopia"),
          column.separate = c(3),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Log_Q43_Controls.doc')

#Appendix H
#
#As a final robustness check, we create alternative forms of our primary models. Table 27, contains analysis of Q39 as the DV using ordered logistic regression models. Tables 28-30, examining Q40, 41, and 43, respectively, contain multinomial logistic regressions.
#
#Appendix H Table 27
TacticsData_clean$Q39v3 <- TacticsData_clean$Q39

TacticsData_clean$Q39v3 <- ordered(TacticsData_clean$Q39v3, levels= c("Strongly Disapprove", "Disapprove", "Neither Approve nor Disapprove", "Approve", "Strongly Approve"))
Q39ordered<- polr(Q39v3~Treatment2, data = TacticsData_clean, Hess = TRUE)
summary(Q39ordered)
(ctableQ39 <- coef(summary(Q39ordered)))
pQ39 <- pnorm(abs(ctableQ39[, "t value"]), lower.tail = FALSE) * 2
(ctableQ39 <- cbind(ctableQ39, "p value" = pQ39))

All_Dems$Q39v3 <- All_Dems$Q39 
All_Dems$Q39v3 <- ordered(All_Dems$Q39v3, levels= c("Strongly Disapprove", "Disapprove", "Neither Approve nor Disapprove", "Approve", "Strongly Approve"))
Q39orderedDem<- polr(Q39v3~Treatment2, data = All_Dems, Hess = TRUE)
summary(Q39orderedDem)
(ctableQ39Dem <- coef(summary(Q39orderedDem)))
pQ39Dem <- pnorm(abs(ctableQ39Dem[, "t value"]), lower.tail = FALSE) * 2
(ctableQ39Dem <- cbind(ctableQ39Dem, "p value" = pQ39Dem))

All_Reps$Q39v3 <- All_Reps$Q39 
All_Reps$Q39v3 <- ordered(All_Reps$Q39v3, levels= c("Strongly Disapprove", "Disapprove", "Neither Approve nor Disapprove", "Approve", "Strongly Approve"))
Q39orderedRep<- polr(Q39v3~Treatment2, data = All_Reps, Hess = TRUE)
summary(Q39orderedRep)
(ctableQ39Rep <- coef(summary(Q39orderedRep)))
pQ39Rep <- pnorm(abs(ctableQ39Rep[, "t value"]), lower.tail = FALSE) * 2
(ctableQ39Rep <- cbind(ctableQ39Rep, "p value" = pQ39Rep))

All_Indy$Q39v3 <- All_Indy$Q39 
All_Indy$Q39v3 <- ordered(All_Indy$Q39v3, levels= c("Strongly Disapprove", "Disapprove", "Neither Approve nor Disapprove", "Approve", "Strongly Approve"))
Q39orderedIndy<- polr(Q39v3~Treatment2, data = All_Indy, Hess = TRUE)
summary(Q39orderedIndy)
(ctableQ39Indy <- coef(summary(Q39orderedIndy)))
pQ39Indy <- pnorm(abs(ctableQ39Indy[, "t value"]), lower.tail = FALSE) * 2
(ctableQ39Indy <- cbind(ctableQ39Indy, "p value" = pQ39Indy))

order<- c("Treatment2National identity/homeland", "Treatment2Religious freedom", "Treatment2Language rights")
stargazer(Q39orderedDem, Q39orderedRep,Q39orderedIndy, Q39ordered, order=order, type= "html", 
          title = "Table 27",
          digits=3, 
          column.labels = c("Democrats", "Republicans","Independents", "All"),
          column.separate = c(1, 1, 1),
            star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'OrderedLog_Q39_Fin.doc')

#Appendix H Table 28
TacticsData_clean$Q40v3 <- TacticsData_clean$Q40  
TacticsData_clean$Q40v3 <- relevel(TacticsData_clean$Q40v3, ref = "No")
mn40 <- multinom(Q40v3 ~ Treatment2, data = TacticsData_clean)
summary(mn40)
mn40z <- summary(mn40)$coefficients/summary(mn40)$standard.errors
mn40z
mn40p <- (1 - pnorm(abs(mn40z), 0, 1)) * 2
mn40p

All_Reps$Q40v3 <- All_Reps$Q40  
All_Reps$Q40v3 <- relevel(All_Reps$Q40v3, ref = "No")
mn40Rep <- multinom(Q40v3 ~ Treatment2, data = All_Reps)
summary(mn40Rep)
mn40zRep <- summary(mn40Rep)$coefficients/summary(mn40Rep)$standard.errors
mn40zRep
mn40pRep <- (1 - pnorm(abs(mn40zRep), 0, 1)) * 2
mn40pRep

All_Dems$Q40v3 <- All_Dems$Q40  
All_Dems$Q40v3 <- relevel(All_Dems$Q40v3, ref = "No")
mn40Dem <- multinom(Q40v3 ~ Treatment2, data = All_Dems)
summary(mn40Dem)
mn40zDem <- summary(mn40Dem)$coefficients/summary(mn40Dem)$standard.errors
mn40zDem
mn40pDem <- (1 - pnorm(abs(mn40zDem), 0, 1)) * 2
mn40pDem

All_Indy$Q40v3 <- All_Indy$Q40  
All_Indy$Q40v3 <- relevel(All_Indy$Q40v3, ref = "No")
mn40Indy <- multinom(Q40v3 ~ Treatment2, data = All_Indy)
summary(mn40Indy)
mn40zIndy <- summary(mn40Indy)$coefficients/summary(mn40Indy)$standard.errors
mn40zIndy
mn40pIndy <- (1 - pnorm(abs(mn40zIndy), 0, 1)) * 2
mn40pIndy

stargazer(mn40Dem, mn40Rep,mn40Indy, mn40, order=order, type= "html", 
          title = "Table 28",
          digits=3, 
          column.labels = c("Democrats", "Republicans","Independents", "All"),
          column.separate = c(2, 2, 2),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Multi_nom_Q40_Fin.doc')

#Table 29
TacticsData_clean$Q41v3 <- TacticsData_clean$Q41  
TacticsData_clean$Q41v3 <- relevel(TacticsData_clean$Q41v3, ref = "No")
mn41 <- multinom(Q41v3 ~ Treatment2, data = TacticsData_clean)
summary(mn41)
mn41z <- summary(mn41)$coefficients/summary(mn41)$standard.errors
mn41z
mn41p <- (1 - pnorm(abs(mn41z), 0, 1)) * 2
mn41p

All_Reps$Q41v3 <- All_Reps$Q41  
All_Reps$Q41v3 <- relevel(All_Reps$Q41v3, ref = "No")
mn41Rep <- multinom(Q41v3 ~ Treatment2, data = All_Reps)
summary(mn41Rep)
mn41zRep <- summary(mn41Rep)$coefficients/summary(mn41Rep)$standard.errors
mn41zRep
mn41pRep <- (1 - pnorm(abs(mn41zRep), 0, 1)) * 2
mn41pRep

All_Dems$Q41v3 <- All_Dems$Q41  
All_Dems$Q41v3 <- relevel(All_Dems$Q41v3, ref = "No")
mn41Dem <- multinom(Q41v3 ~ Treatment2, data = All_Dems)
summary(mn41Dem)
mn41zDem <- summary(mn41Dem)$coefficients/summary(mn41Dem)$standard.errors
mn41zDem
mn41pDem <- (1 - pnorm(abs(mn41zDem), 0, 1)) * 2
mn41pDem

All_Indy$Q41v3 <- All_Indy$Q41  
All_Indy$Q41v3 <- relevel(All_Indy$Q41v3, ref = "No")
mn41Indy <- multinom(Q41v3 ~ Treatment2, data = All_Indy)
summary(mn41Indy)
mn41zIndy <- summary(mn41Indy)$coefficients/summary(mn41Indy)$standard.errors
mn41zIndy
mn41pIndy <- (1 - pnorm(abs(mn41zIndy), 0, 1)) * 2
mn41pIndy

stargazer(mn41Dem, mn41Rep,mn41Indy, mn41, order=order, type= "html", 
          title = "Table 29",
          digits=3, 
          column.labels = c("Democrats", "Republicans","Independents", "All"),
          column.separate = c(2, 2, 2),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Multi_nom_Q41_Fin.doc')

#Appendix H Table 30
TacticsData_clean$Q43v3 <- TacticsData_clean$Q43  
TacticsData_clean$Q43v3 <- relevel(TacticsData_clean$Q43v3, ref = "No")
mn43 <- multinom(Q43v3 ~ Treatment2, data = TacticsData_clean)
summary(mn43)
mn43z <- summary(mn43)$coefficients/summary(mn43)$standard.errors
mn43z
mn43p <- (1 - pnorm(abs(mn43z), 0, 1)) * 2
mn43p

All_Reps$Q43v3 <- All_Reps$Q43  
All_Reps$Q43v3 <- relevel(All_Reps$Q43v3, ref = "No")
mn43Rep <- multinom(Q43v3 ~ Treatment2, data = All_Reps)
summary(mn43Rep)
mn43zRep <- summary(mn43Rep)$coefficients/summary(mn43Rep)$standard.errors
mn43zRep
mn43pRep <- (1 - pnorm(abs(mn43zRep), 0, 1)) * 2
mn43pRep

All_Dems$Q43v3 <- All_Dems$Q43  
All_Dems$Q43v3 <- relevel(All_Dems$Q43v3, ref = "No")
mn43Dem <- multinom(Q43v3 ~ Treatment2, data = All_Dems)
summary(mn43Dem)
mn43zDem <- summary(mn43Dem)$coefficients/summary(mn43Dem)$standard.errors
mn43zDem
mn43pDem <- (1 - pnorm(abs(mn43zDem), 0, 1)) * 2
mn43pDem

All_Indy$Q43v3 <- All_Indy$Q43  
All_Indy$Q43v3 <- relevel(All_Indy$Q43v3, ref = "No")
mn43Indy <- multinom(Q43v3 ~ Treatment2, data = All_Indy)
summary(mn43Indy)
mn43zIndy <- summary(mn43Indy)$coefficients/summary(mn43Indy)$standard.errors
mn43zIndy
mn43pIndy <- (1 - pnorm(abs(mn43zIndy), 0, 1)) * 2
mn43pIndy

stargazer(mn43Dem, mn43Rep,mn43Indy, mn43, order=order, type= "html", 
          title = "Table 30",
          digits=3, 
          column.labels = c("Democrats", "Republicans","Independents", "All"),
          column.separate = c(2, 2, 2),
           star.char = c("+", "*", "**", "***"),
          star.cutoffs = c(.1, .05, .01, .001), out = 'Multi_nom_Q43_Fin.doc')




```

